home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
EnigmA Amiga Run 1996 February
/
EnigmA AMIGA RUN 04 (1996)(G.R. Edizioni)(IT)[!][issue 1996-02][Skylink CD III].iso
/
earcd
/
editor
/
edt10.lha
/
Beispiele
/
Oberon
/
Deutsch
/
Make_D.edt
< prev
next >
Wrap
Text File
|
1995-03-20
|
2KB
|
76 lines
/* erstellen: make */
OPTIONS RESULTS
Busy "erstellen ..."
co="" /* init */
lo=""
processor=GetClip("Oberon2Processor")
options=GetClip("Oberon2Options")
switches=GetClip("Oberon2Switches")
chk=GetClip("Oberon2Chk")
PARSE VAR switches newSym debug garbColl langExt smallCode smallData linkHunks compAll icons
PARSE VAR chk stackChk ovflChk rangeChk caseChk returnChk nilChk oddChk typeChk clearVars
IF ~newSym THEN co=co||"y"
IF debug THEN co=co||"g"
IF ~garbColl THEN DO; co=co||"a"; lo=lo||"a"; END;
IF ~langExt THEN co=co||"e"
IF smallCode THEN DO; co=co||"m"; lo=lo||"m"; END;
IF smallData THEN DO; co=co||"d"; lo=lo||"d"; END;
IF linkHunks THEN lo=lo||"s"
IF compAll THEN options="ALL" options
IF icons THEN DO; co=co||"i"; lo=lo||"i"; END;
IF ~stackChk THEN co=co||"s"
IF ~ovflChk THEN co=co||"v"
IF ~rangeChk THEN co=co||"b"
IF ~caseChk THEN co=co||"c"
IF ~returnChk THEN co=co||"r"
IF ~nilChk THEN co=co||"n"
IF oddChk THEN co=co||"o"
IF ~typeChk THEN co=co||"t"
IF ~clearVars THEN co=co||"z"
IF processor=1 THEN co=co||"1"
IF processor=2 THEN co=co||"2"
IF processor=3 THEN co=co||"28"
IF processor=4 THEN co=co||"3"
IF processor=5 THEN co=co||"38"
IF processor=6 THEN co=co||"4" /* Vermutung: bisher nicht implementiert */
Get NAME
baseName=RESULT
IF RIGHT(baseName, 4) ~= ".mod" THEN DO
ReqAction '"Dieses ist kein Oberon-2|Quelltext."' "OK"
BusyDone
exit
END
Get PATH
path=RESULT
Get CHANGES
IF RESULT ~= 0 THEN Save
Get TEXTID
scriptName="T:make"||RESULT||".s"
done=Open(f, scriptName, "W")
IF ~done THEN exit
CALL WriteLn(f,"FailAt 100")
CALL WriteLn(f,"Stack 30000")
CALL WriteLn(f,"Resident OBERON:Oberon")
CALL WriteLn(f,"CD" path)
CALL WriteLn(f,'OBERON:omake >"CON:0/20/640/200/Programm Erzeugen/CLOSE/AUTO" c-'||co "l-"||lo options baseName)
CALL WriteLn(f,"Resident Oberon REMOVE")
CALL Close(f)
ADDRESS COMMAND "Execute >NIL:" scriptName
ADDRESS COMMAND "Delete >NIL:" scriptName
BusyDone
ADDRESS REXX "OBERON:rexx/GetFirstErr.edt"